package com.sikaryofficial.backend.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Objects;

/**
 * @author : qinjinyuan
 * @desc : 屏蔽枚举
 * @date : 2024/04/11 14:02
 */
@Getter
@AllArgsConstructor
public enum BlockTypeEnum {

    /**
     * 是否屏蔽：0-否，1-是，默认未屏蔽
     */
    NO(0, "取消屏蔽", 2),
    /**
     * 是否屏蔽：0-否，1-是，默认未屏蔽
     */
    YES(1, "屏蔽", 1);

    /**
     * 数据库的值
     */
    private final Integer dbValue;
    /**
     * 数据库的值描述
     */
    private final String actionName;
    /**
     * 屏蔽动作
     */
    private final Integer shieldAction;

    public static BlockTypeEnum getByShieldAction(Integer shieldAction) {
        return Arrays.stream(BlockTypeEnum.values())
                .filter(blockTypeEnum -> Objects.nonNull(shieldAction) &&
                        blockTypeEnum.getShieldAction().equals(shieldAction))
                .findFirst().orElse(null);
    }
}
